The present invention relates generally to disc drives, and in particular to media defect management schemes.
Defect management schemes in a disc drive identify segments of the disc surface that are defective and which cannot be used to store data. Such defects may be caused by a number of sources, including thermal asperity, dust particles or other contaminants. These defective locations need to be identified and coded as no useful information can be recorded at these defective sites.
Drive certification is performed as part of the manufacturing process to identify defects on the media. In a typical full slip defect management scheme, all defective sectors found are characterized by a slip count parameter. The drive electronics uses this parameter to skip over the defective sectors. The accumulated slip and the cylinder location are recorded in the defect slippage field and the cylinder field respectively. Both these fields are a single word size parameter. This implies that the largest number of accumulated slips that can be recorded is 65535. This limitation poses a potential problem as the capacity of disc drives increases and the potential number of slips may exceed this number.
If a track or cylinder is mapped out due to bad servo bursts, the accumulated slip count increases tremendously, and the slip count may exceed the limit.
Following the current trend in the disc drive industry to increase drive capacity by increasing the number of tracks per inch, a similar problem will arise when the number of cylinders in a drive exceed 65535, since the cylinder field is a single word parameter.
A natural solution is to use an additional memory byte or word to represent the slip count or cylinder count, and thus avoid any possibility of parameter overflow. Unfortunately, this is not a feasible solution as buffer memory is both scarce and expensive in the disc drive electronics system. For example, if an additional byte is added for the cylinder and slip count fields, the additional memory required for the entire defect table will be 2 bytes multiplied by the number of defect entries. For an 8K defect entry system, an additional 16K bytes will be required.
There is clearly an unmet need for some way to overcome this memory limitation at acceptable cost.
In accordance with the invention, there is provided a method for storing values, some of the values being wider than n bits. The method is especially useful in a disc drive having n-bit wide memory allocated to the storage of such values.
According to a most preferred embodiment, the method involves obtaining the difference between each of the values and a value k2n. The value k is chosen as the smallest integer for the difference to be less than 2n. The differences are stored in a n-bit wide first memory in order of increasing magnitude of the values. Each of the differences is referenced by an address. For each k value, the address of the smallest difference is stored in a second memory as an overflow address. The method may further include updating the addresses in the first memory and, if necessary, in the second memory, when a new difference is inserted into the first memory. In this manner, the invention allows for the storage of values that may be wider than n bits without resorting to allocating more than n bits to store each of the values.
The method is applicable whether or not the values are accumulative. If the values are accumulative in nature, the n-bit values are updated along with any required updating of the addresses when a new difference is inserted into the first table.
To retrieve a value, the address of the difference stored in the first memory is compared with the overflow addresses stored in a second memory. The value of 2n is added to the difference if an overflow address is equal to or greater than the address. The comparing and adding steps are repeated for each overflow address less than the address of the difference. The final sum is the value to be retrieved.
Thus, it can be understood that the present invention can be implemented with minor code changes and yet bring about significant increase in the magnitude of the values that can be stored. These and various other features as well as advantages, which characterize the present invention, will be apparent from the following detailed description.